package com.edais.service.imp;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;

import com.edais.dao.UserCheckDao;
import com.edais.domain.InterfaceWhite;
import com.edais.domain.User;
import com.edais.service.UserCheckService;
import com.edais.util.Consts;

@Service
public class UserCheckServiceImpl implements UserCheckService {
	
	private static final Log logger = LogFactory.getLog(UserCheckServiceImpl.class);

	@Autowired
	private UserCheckDao userCheckDao;
	
	
//	@Override
//	public Map<String,Object> login(String userId,String token) throws Exception {
//		Map<String,Object> resultMap = new HashMap<String,Object>();
//		logger.info("userId:"+userId);
//		Map<String,Object> param = new HashMap<String, Object>();
//		param.put("userId", Long.valueOf(userId));
//		param.put("token", token);
//		int cnt = userCheckDao.updateUserByUserId(param);
//		if(cnt>0){
//			resultMap.put("token", token);
//			resultMap.put("rescode", Consts.SUCCESS_CODE);
//			resultMap.put("resmsg", "");
//		}else{
//			resultMap.put("token", "");
//			resultMap.put("rescode", Consts.ERROR_CODE);
//			resultMap.put("resmsg", "用户:"+userId+"设置用户token失败!");
//		}
//		return resultMap;
//	}
//
//	@Cacheable(value = "userToken",key = "#token")
//	@Override
//	public User verifyToken(String token) throws Exception {
//		logger.info("token:"+token);
//	    List<User> users = userCheckDao.getUsersByToken(token);
//	    if(users.size()!=1){
//	        if(users.size()>1){
//	            logger.error(" token  出现了重复，bug！请检查！");
//	        }
//	        return null;
//	    }
//	    return users.get(0);
//	}
//	@Cacheable(value = "userCheck",key = "#vMap")
	@Override
	public List<InterfaceWhite> getAllInterfaceWhite(Map<String,String> vMap) throws Exception {
		logger.info("获取需要拦截的接口");
		return userCheckDao.getAllInterfaceWhite(vMap);
	}

	@Override
	public boolean isExistExceptionUser(Long userId) throws Exception {
		int count = userCheckDao.isExistExceptionUser(userId);
		if(count >0 ){
			return true;
		}
		return false;
	}
}

